
package com.jojoteamwork.photo.util;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

public class DBHelper {
    public Context mContext;

    private SQLiteDatabase database;

    private static final String MODEL_TABLE_NAME = "models";

    private static final String PHOTO_TABLE_NAME = "photos";

    private static final int DB_VERSION = 3;

    private static String dbPath;

    protected static final int MSG_INITDB = 0;

//    public DBHelper(Context context) {
//        mContext = context;
//        dbPath = mContext.getFilesDir().getAbsolutePath() + "/photos.db";
//
//        initDB();
//        database = SQLiteDatabase.openOrCreateDatabase(dbPath, null);
//
//    }

//    public ArrayList<Model> getMovieInfos() {
//        return getMovieInfos(-1, -1);
//    }

//    public ArrayList<Model> getMovieInfos(int limit, int offset) {
//        Cursor cursor = getModelCursor(limit, offset);
//        ArrayList<Model> infos = new ArrayList<Model>();
//        Model photo = null;
//        while (cursor.moveToNext()) {
//            photo = buildModel(cursor);
//            infos.add(photo);
//        }
//        cursor.close();
//        return infos;
//    }

//    public ArrayList<Bitmap> getPhotos(int modelId) {
//        Cursor cursor = getPhotoCursor(modelId);
//        ArrayList<Bitmap> images = new ArrayList<Bitmap>();
//        byte[] data;
//        Bitmap image;
//        while (cursor.moveToNext()) {
//            data = cursor.getBlob(0);
//            image = BitmapFactory.decodeByteArray(data, 0, data.length);
//            images.add(image);
//        }
//        cursor.close();
//        return images;
//    }

//    public Cursor getPhotoCursor(int modelId) {
//        return database.query(PHOTO_TABLE_NAME, new String[] {
//            "photo"
//        }, "model_id=" + modelId, null, null, null, null);
//    }

//    private Model buildModel(Cursor cursor) {
//        Model model = new Model();
//        model.id = cursor.getInt(Model.COLUMN_INDEX_ID);
//        model.name = cursor.getString(Model.COLUMN_INDEX_NAME);
//        model.introduction = cursor.getString(Model.COLUMN_INDEX_INTRODUCTION);
//        model.detail = cursor.getString(Model.COLUMN_INDEX_DETAIL);
//        model.frontCover = cursor.getBlob(Model.COLUMN_INDEX_FRONTCOVER);
//        model.frontcoverSmall = cursor.getBlob(Model.COLUMN_INDEX_FRONTCOVER_SMALL);
//        // 是否已购买，0否，1是
//        model.purchased = cursor.getInt(Model.COLUMN_INDEX_PURCHASED) == 0 ? false : true;
//        // 是否付费才能看写真
//        model.isCost = cursor.getInt(Model.COLUMN_INDEX_COST) == 0 ? false : true;
//
//        return model;
//    }

//    public int getPhotoCount() {
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, null, null, null, null,
//                null);
//        int count = cursor.getCount();
//        cursor.close();
//        return count;
//    }
//
//    public int getCurrentMovieOrder(int id) {
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, "_id <= " + id, null, null,
//                null, null);
//        int count = cursor.getCount();
//        cursor.close();
//        return count;
//    }
//
//    public int getMoviePosition(int id) {
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, null, null, null, null,
//                null);
//        int position = 0;
//        while (cursor.moveToNext()) {
//            if (cursor.getInt(0) == id) {
//                position = cursor.getPosition();
//                break;
//            }
//        }
//        cursor.close();
//        return position;
//    }
//
//    public Cursor getModelCursor(int limit, int offset) {
//        String where = " 1=1 ";
//        if (limit != -1) {
//            where += " limit " + limit;
//        }
//        if (offset != -1) {
//            where += " offset " + offset;
//        }
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, where, null, null, null,
//                null);
//        return cursor;
//    }
//
//    public void updatePurchaseState(int id, boolean purchased) {
//        ContentValues values = new ContentValues();
//        values.put("purchased", purchased ? 1 : 0);
//        database.update(MODEL_TABLE_NAME, values, "_id = ?", new String[] {
//            "" + id
//        });
//    }
//
//    /**
//     * 判断是否需要花费虚拟币
//     * 
//     * @param id 模特专辑ID
//     * @return
//     */
//    public boolean isCost(int id) {
//        boolean isCost = false;
//        Cursor cursor = database.query(MODEL_TABLE_NAME, new String[] {
//            "cost"
//        }, "_id = ?", new String[] {
//            "" + id
//        }, null, null, null);
//        if (cursor.moveToFirst()) {
//            int cost = cursor.getInt(0);
//            if (cost == 1) {
//                isCost = true;
//            }
//        }
//        cursor.close();
//        return isCost;
//    }
//
//    public void updateCostState(int id, boolean iscost) {
//        ContentValues values = new ContentValues();
//        values.put("cost", iscost ? 1 : 0);
//        database.update(MODEL_TABLE_NAME, values, "_id = ?", new String[] {
//            "" + id
//        });
//    }
//
//    /**
//     * @param id
//     * @return
//     */
//    public Model getNextMovie(int id) {
//
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, "_id>? limit 1",
//                new String[] {
//                    id + ""
//                }, null, null, null);
//        if (!cursor.moveToFirst()) {
//            return null;
//        }
//        Model info = buildModel(cursor);
//        cursor.close();
//        return info;
//
//    }
//
//    /**
//     * @param id
//     * @return
//     */
//    public Model getPrevMovie(int id) {
//
//        Cursor cursor = database.query(MODEL_TABLE_NAME, Model.COLUMNS, "_id<?", new String[] {
//            id + ""
//        }, null, null, " id desc limit 1");
//        if (!cursor.moveToFirst()) {
//            return null;
//        }
//        Model info = buildModel(cursor);
//        cursor.close();
//        return info;
//
//    }
//
//    public boolean isFirst() {
//        boolean first = false;
//        Cursor c = database.query("setting", new String[] {
//            "first"
//        }, null, null, null, null, null);
//        if (c.moveToFirst()) {
//            first = c.getInt(0) == 0 ? true : false;
//        }
//        c.close();
//        return first;
//    }
//
//    public void notFirst() {
//        ContentValues values = new ContentValues();
//        values.put("first", 1);
//        database.update("setting", values, null, null);
//    }
//
//    public void closeDatabase() {
//        database.close();
//    }

//    private void initDB() {
//        File file = new File(dbPath);
//        InputStream in = mContext.getResources().openRawResource(R.raw.photos);
//        SharedPreferences preferences = mContext.getSharedPreferences("settings",
//                Context.MODE_PRIVATE);
//        boolean replace = false;
//        if (preferences.getInt("db_version", 0) < DB_VERSION) {
//            replace = true;
//            Editor editor = preferences.edit();
//            editor.putInt("db_version", DB_VERSION);
//            editor.commit();
//        }
//        Utils.copyFile(file, in, replace);
//    }

}
